//
//  RequestManager.h
//  Request
//
//  Created by 梁晨 on 2017/6/23.
//  Copyright © 2017年 梁晨. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

// 请求类型的枚举
/**
 请求类型枚举

 - RequestGET: 请求类型
 */
typedef NS_ENUM(NSInteger,RequestType)
{
    RequestGET, // get 请求
    RequestPOST  // post 请求
};

// 成功的回调block
typedef void(^Success)(id data);

//  请求失败的回调block
typedef void(^Error)(NSError *error);


@interface RequestManager : NSObject

/**
 定义成功的回调
 */
@property(nonatomic,copy)Success success;

/**
 定义失败的回调
 */
@property(nonatomic,copy)Error error;



/**
无加载框 无提示文字的网络请求方法

 @param Url URL
 @param parmDic 参数字典
 @param requestType 请求方式
 @param success 成功回调
 @param error 失败回调
 */
+(void)RequstWithUrl:(NSString *)Url parmDic:(NSDictionary *)parmDic requestType:(RequestType)requestType Success:(Success )success error:(Error )error;


/**
 有加载框 无提示文字的网络请求方法

 @param Url URL
 @param parmDic 参数字典
 @param requestType 请求方式
 @param view 弹框所在的父试图
 @param success 成功回调
 @param error 失败回调
 */
+(void)ProgressRequestWithUrl:(NSString *)Url parmDic:(NSDictionary *)parmDic requestType:(RequestType)requestType view:(UIView *)view Success:(Success )success error:(Error )error;



/**
 无加载框 有提示文字的网络请求的方法

 @param Url URL
 @param parmDic 参数字典
 @param requestType 请求方式
 @param view 弹所在的父试图
 @param success 成功回调
 @param error 失败回调
 */
+(void)HudRequestWithUrl:(NSString *)Url parmDic:(NSDictionary *)parmDic requestType:(RequestType)requestType view:(UIView *)view Success:(Success )success error:(Error )error;


/**
 什么提示都没有的网络请求

 @param Url URL
 @param parmDic 参数字典
 @param requestType 请求方式
 @param success 成功回调
 @param error 失败回调
 */
+(void)NormalRequstWithUrl:(NSString *)Url parmDic:(NSDictionary *)parmDic requestType:(RequestType)requestType Success:(Success )success error:(Error )error;


+(void)doUploadImage:(NSString *)methodString parameters:(id)parameter image:(UIImage*)image Success:(Success )success error:(Error )error;



@end
